package com.hk.compoent;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author yellow Docter
 * @date 2023 -10-09
 * @desc
 *
 * ConfigurationProperties 这个注解可以 读取
 *   yml中配置的数据、直接封装成对象
 *  解析的时候:
 *     1、通过反射进行处理
 *     2、反射操作需要操作 set、get方法
 *  刚刚没有写set方法\反射进行赋值 不能成功
 *
 *  总结:
 *    1、通过注解 ConfigurationProperties 配置前缀读取 yml配置
 *    2、标记的了类需要 把属性的类型和名称 和yaml 配置一致、需要set/get方法
 *    3、需要把当前的类添加到ioc容器中
 *    4、Application的入门程序需要开启 配置的读取  EnableConfigurationProperties
 *
 */
@Component    //把当前的类创建的对象添加到ioc容器中
@ConfigurationProperties(prefix = "stu")
public class Student {

    private String name;
    private Integer age;
    private List<String>  subject;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public List<String> getSubject() {
        return subject;
    }

    public void setSubject(List<String> subject) {
        this.subject = subject;
    }
}
